<?php
// vim: fenc=utf-8:ft=php:ai:si:ts=4:sw=4:et:

/**
 * Using predefined sums to avoid floating point precision issues.
 *
 * @link http://www.php.net/manual/en/language.types.float.php
 *
 * @filesource
 * @copyright   Copyright (c) 2008-2011 David Smith
 * @license     http://www.opensource.org/licenses/mit-license.php MIT License
 * @package     Hashmark-Test
 * @subpackage  Hashmark_Core
 * @version     $Id$
*/

$data = array(array('start' => '0', 'delta' => '0', 'sum' => '0'),
              array('start' => '0', 'delta' => '1', 'sum' => '-1'),
              array('start' => '0', 'delta' => '-1', 'sum' => '1'),
              array('start' => '0', 'delta' => '10', 'sum' => '-10'),
              array('start' => '0', 'delta' => '-10', 'sum' => '10'),
              array('start' => '0', 'delta' => '100', 'sum' => '-100'),
              array('start' => '0', 'delta' => '-100', 'sum' => '100'),
              array('start' => '0', 'delta' => '1.0001', 'sum' => '-1.0001'),
              array('start' => '0', 'delta' => '-1.0001', 'sum' => '1.0001'),
              array('start' => '0', 'delta' => '.0001', 'sum' => '-.0001'),
              array('start' => '0', 'delta' => '-.0001', 'sum' => '.0001'),
              array('start' => '0', 'delta' => '100000000000000.0001', 'sum' => '-100000000000000.0001'),
              array('start' => '0', 'delta' => '-100000000000000.0001', 'sum' => '100000000000000.0001'),
              array('start' => '1', 'delta' => '0', 'sum' => '1'),
              array('start' => '1', 'delta' => '1', 'sum' => '0'),
              array('start' => '1', 'delta' => '-1', 'sum' => '2'),
              array('start' => '1', 'delta' => '10', 'sum' => '-9'),
              array('start' => '1', 'delta' => '-10', 'sum' => '11'),
              array('start' => '1', 'delta' => '100', 'sum' => '-99'),
              array('start' => '1', 'delta' => '-100', 'sum' => '101'),
              array('start' => '1', 'delta' => '1.0001', 'sum' => '-.0001'),
              array('start' => '1', 'delta' => '-1.0001', 'sum' => '2.0001'),
              array('start' => '1', 'delta' => '.0001', 'sum' => '.9999'),
              array('start' => '1', 'delta' => '-.0001', 'sum' => '1.0001'),
              array('start' => '1', 'delta' => '100000000000000.0001', 'sum' => '-99999999999999.0001'),
              array('start' => '1', 'delta' => '-100000000000000.0001', 'sum' => '100000000000001.0001'),
              array('start' => '-1', 'delta' => '0', 'sum' => '-1'),
              array('start' => '-1', 'delta' => '1', 'sum' => '-2'),
              array('start' => '-1', 'delta' => '-1', 'sum' => '0'),
              array('start' => '-1', 'delta' => '10', 'sum' => '-11'),
              array('start' => '-1', 'delta' => '-10', 'sum' => '9'),
              array('start' => '-1', 'delta' => '100', 'sum' => '-101'),
              array('start' => '-1', 'delta' => '-100', 'sum' => '99'),
              array('start' => '-1', 'delta' => '1.0001', 'sum' => '-2.0001'),
              array('start' => '-1', 'delta' => '-1.0001', 'sum' => '.0001'),
              array('start' => '-1', 'delta' => '.0001', 'sum' => '-1.0001'),
              array('start' => '-1', 'delta' => '-.0001', 'sum' => '-.9999'),
              array('start' => '-1', 'delta' => '100000000000000.0001', 'sum' => '-100000000000001.0001'),
              array('start' => '-1', 'delta' => '-100000000000000.0001', 'sum' => '99999999999999.0001'),
              array('start' => '10', 'delta' => '0', 'sum' => '10'),
              array('start' => '10', 'delta' => '1', 'sum' => '9'),
              array('start' => '10', 'delta' => '-1', 'sum' => '11'),
              array('start' => '10', 'delta' => '10', 'sum' => '0'),
              array('start' => '10', 'delta' => '-10', 'sum' => '20'),
              array('start' => '10', 'delta' => '100', 'sum' => '-90'),
              array('start' => '10', 'delta' => '-100', 'sum' => '110'),
              array('start' => '10', 'delta' => '1.0001', 'sum' => '8.9999'),
              array('start' => '10', 'delta' => '-1.0001', 'sum' => '11.0001'),
              array('start' => '10', 'delta' => '.0001', 'sum' => '9.9999'),
              array('start' => '10', 'delta' => '-.0001', 'sum' => '10.0001'),
              array('start' => '10', 'delta' => '100000000000000.0001', 'sum' => '-99999999999990.0001'),
              array('start' => '10', 'delta' => '-100000000000000.0001', 'sum' => '100000000000010.0001'),
              array('start' => '-10', 'delta' => '0', 'sum' => '-10'),
              array('start' => '-10', 'delta' => '1', 'sum' => '-11'),
              array('start' => '-10', 'delta' => '-1', 'sum' => '-9'),
              array('start' => '-10', 'delta' => '10', 'sum' => '-20'),
              array('start' => '-10', 'delta' => '-10', 'sum' => '0'),
              array('start' => '-10', 'delta' => '100', 'sum' => '-110'),
              array('start' => '-10', 'delta' => '-100', 'sum' => '90'),
              array('start' => '-10', 'delta' => '1.0001', 'sum' => '-11.0001'),
              array('start' => '-10', 'delta' => '-1.0001', 'sum' => '-8.9999'),
              array('start' => '-10', 'delta' => '.0001', 'sum' => '-10.0001'),
              array('start' => '-10', 'delta' => '-.0001', 'sum' => '-9.9999'),
              array('start' => '-10', 'delta' => '100000000000000.0001', 'sum' => '-100000000000010.0001'),
              array('start' => '-10', 'delta' => '-100000000000000.0001', 'sum' => '99999999999990.0001'),
              array('start' => '100', 'delta' => '0', 'sum' => '100'),
              array('start' => '100', 'delta' => '1', 'sum' => '99'),
              array('start' => '100', 'delta' => '-1', 'sum' => '101'),
              array('start' => '100', 'delta' => '10', 'sum' => '90'),
              array('start' => '100', 'delta' => '-10', 'sum' => '110'),
              array('start' => '100', 'delta' => '100', 'sum' => '0'),
              array('start' => '100', 'delta' => '-100', 'sum' => '200'),
              array('start' => '100', 'delta' => '1.0001', 'sum' => '98.9999'),
              array('start' => '100', 'delta' => '-1.0001', 'sum' => '101.0001'),
              array('start' => '100', 'delta' => '.0001', 'sum' => '99.9999'),
              array('start' => '100', 'delta' => '-.0001', 'sum' => '100.0001'),
              array('start' => '100', 'delta' => '100000000000000.0001', 'sum' => '-99999999999900.0001'),
              array('start' => '100', 'delta' => '-100000000000000.0001', 'sum' => '100000000000100.0001'),
              array('start' => '-100', 'delta' => '0', 'sum' => '-100'),
              array('start' => '-100', 'delta' => '1', 'sum' => '-101'),
              array('start' => '-100', 'delta' => '-1', 'sum' => '-99'),
              array('start' => '-100', 'delta' => '10', 'sum' => '-110'),
              array('start' => '-100', 'delta' => '-10', 'sum' => '-90'),
              array('start' => '-100', 'delta' => '100', 'sum' => '-200'),
              array('start' => '-100', 'delta' => '-100', 'sum' => '0'),
              array('start' => '-100', 'delta' => '1.0001', 'sum' => '-101.0001'),
              array('start' => '-100', 'delta' => '-1.0001', 'sum' => '-98.9999'),
              array('start' => '-100', 'delta' => '.0001', 'sum' => '-100.0001'),
              array('start' => '-100', 'delta' => '-.0001', 'sum' => '-99.9999'),
              array('start' => '-100', 'delta' => '100000000000000.0001', 'sum' => '-100000000000100.0001'),
              array('start' => '-100', 'delta' => '-100000000000000.0001', 'sum' => '99999999999900.0001'),
              array('start' => '1.0001', 'delta' => '0', 'sum' => '1.0001'),
              array('start' => '1.0001', 'delta' => '1', 'sum' => '.0001'),
              array('start' => '1.0001', 'delta' => '-1', 'sum' => '2.0001'),
              array('start' => '1.0001', 'delta' => '10', 'sum' => '-8.9999'),
              array('start' => '1.0001', 'delta' => '-10', 'sum' => '11.0001'),
              array('start' => '1.0001', 'delta' => '100', 'sum' => '-98.9999'),
              array('start' => '1.0001', 'delta' => '-100', 'sum' => '101.0001'),
              array('start' => '1.0001', 'delta' => '1.0001', 'sum' => '0'),
              array('start' => '1.0001', 'delta' => '-1.0001', 'sum' => '2.0002'),
              array('start' => '1.0001', 'delta' => '.0001', 'sum' => '1.0000'),
              array('start' => '1.0001', 'delta' => '-.0001', 'sum' => '1.0002'),
              array('start' => '1.0001', 'delta' => '100000000000000.0001', 'sum' => '-99999999999999.0000'),
              array('start' => '1.0001', 'delta' => '-100000000000000.0001', 'sum' => '100000000000001.0002'),
              array('start' => '-1.0001', 'delta' => '0', 'sum' => '-1.0001'),
              array('start' => '-1.0001', 'delta' => '1', 'sum' => '-2.0001'),
              array('start' => '-1.0001', 'delta' => '-1', 'sum' => '-.0001'),
              array('start' => '-1.0001', 'delta' => '10', 'sum' => '-11.0001'),
              array('start' => '-1.0001', 'delta' => '-10', 'sum' => '8.9999'),
              array('start' => '-1.0001', 'delta' => '100', 'sum' => '-101.0001'),
              array('start' => '-1.0001', 'delta' => '-100', 'sum' => '98.9999'),
              array('start' => '-1.0001', 'delta' => '1.0001', 'sum' => '-2.0002'),
              array('start' => '-1.0001', 'delta' => '-1.0001', 'sum' => '0'),
              array('start' => '-1.0001', 'delta' => '.0001', 'sum' => '-1.0002'),
              array('start' => '-1.0001', 'delta' => '-.0001', 'sum' => '-1.0000'),
              array('start' => '-1.0001', 'delta' => '100000000000000.0001', 'sum' => '-100000000000001.0002'),
              array('start' => '-1.0001', 'delta' => '-100000000000000.0001', 'sum' => '99999999999999.0000'),
              array('start' => '.0001', 'delta' => '0', 'sum' => '.0001'),
              array('start' => '.0001', 'delta' => '1', 'sum' => '-.9999'),
              array('start' => '.0001', 'delta' => '-1', 'sum' => '1.0001'),
              array('start' => '.0001', 'delta' => '10', 'sum' => '-9.9999'),
              array('start' => '.0001', 'delta' => '-10', 'sum' => '10.0001'),
              array('start' => '.0001', 'delta' => '100', 'sum' => '-99.9999'),
              array('start' => '.0001', 'delta' => '-100', 'sum' => '100.0001'),
              array('start' => '.0001', 'delta' => '1.0001', 'sum' => '-1.0000'),
              array('start' => '.0001', 'delta' => '-1.0001', 'sum' => '1.0002'),
              array('start' => '.0001', 'delta' => '.0001', 'sum' => '0'),
              array('start' => '.0001', 'delta' => '-.0001', 'sum' => '.0002'),
              array('start' => '.0001', 'delta' => '100000000000000.0001', 'sum' => '-100000000000000.0000'),
              array('start' => '.0001', 'delta' => '-100000000000000.0001', 'sum' => '100000000000000.0002'),
              array('start' => '-.0001', 'delta' => '0', 'sum' => '-.0001'),
              array('start' => '-.0001', 'delta' => '1', 'sum' => '-1.0001'),
              array('start' => '-.0001', 'delta' => '-1', 'sum' => '.9999'),
              array('start' => '-.0001', 'delta' => '10', 'sum' => '-10.0001'),
              array('start' => '-.0001', 'delta' => '-10', 'sum' => '9.9999'),
              array('start' => '-.0001', 'delta' => '100', 'sum' => '-100.0001'),
              array('start' => '-.0001', 'delta' => '-100', 'sum' => '99.9999'),
              array('start' => '-.0001', 'delta' => '1.0001', 'sum' => '-1.0002'),
              array('start' => '-.0001', 'delta' => '-1.0001', 'sum' => '1.0000'),
              array('start' => '-.0001', 'delta' => '.0001', 'sum' => '-.0002'),
              array('start' => '-.0001', 'delta' => '-.0001', 'sum' => '0'),
              array('start' => '-.0001', 'delta' => '100000000000000.0001', 'sum' => '-100000000000000.0002'),
              array('start' => '-.0001', 'delta' => '-100000000000000.0001', 'sum' => '100000000000000.0000'),
              array('start' => '100000000000000.0001', 'delta' => '0', 'sum' => '100000000000000.0001'),
              array('start' => '100000000000000.0001', 'delta' => '1', 'sum' => '99999999999999.0001'),
              array('start' => '100000000000000.0001', 'delta' => '-1', 'sum' => '100000000000001.0001'),
              array('start' => '100000000000000.0001', 'delta' => '10', 'sum' => '99999999999990.0001'),
              array('start' => '100000000000000.0001', 'delta' => '-10', 'sum' => '100000000000010.0001'),
              array('start' => '100000000000000.0001', 'delta' => '100', 'sum' => '99999999999900.0001'),
              array('start' => '100000000000000.0001', 'delta' => '-100', 'sum' => '100000000000100.0001'),
              array('start' => '100000000000000.0001', 'delta' => '1.0001', 'sum' => '99999999999999.0000'),
              array('start' => '100000000000000.0001', 'delta' => '-1.0001', 'sum' => '100000000000001.0002'),
              array('start' => '100000000000000.0001', 'delta' => '.0001', 'sum' => '100000000000000.0000'),
              array('start' => '100000000000000.0001', 'delta' => '-.0001', 'sum' => '100000000000000.0002'),
              array('start' => '100000000000000.0001', 'delta' => '100000000000000.0001', 'sum' => '0'),
              array('start' => '100000000000000.0001', 'delta' => '-100000000000000.0001', 'sum' => '200000000000000.0002'),
              array('start' => '-100000000000000.0001', 'delta' => '0', 'sum' => '-100000000000000.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '1', 'sum' => '-100000000000001.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '-1', 'sum' => '-99999999999999.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '10', 'sum' => '-100000000000010.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '-10', 'sum' => '-99999999999990.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '100', 'sum' => '-100000000000100.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '-100', 'sum' => '-99999999999900.0001'),
              array('start' => '-100000000000000.0001', 'delta' => '1.0001', 'sum' => '-100000000000001.0002'),
              array('start' => '-100000000000000.0001', 'delta' => '-1.0001', 'sum' => '-99999999999999.0000'),
              array('start' => '-100000000000000.0001', 'delta' => '.0001', 'sum' => '-100000000000000.0002'),
              array('start' => '-100000000000000.0001', 'delta' => '-.0001', 'sum' => '-100000000000000.0000'),
              array('start' => '-100000000000000.0001', 'delta' => '100000000000000.0001', 'sum' => '-200000000000000.0002'),
              array('start' => '-100000000000000.0001', 'delta' => '-100000000000000.0001', 'sum' => '0'));
